Doom Emacs Python 开发环境
本文记录了我如何在 Doom Emacs 中配置 Python 开发环境。
在 Doom Emacs 中配置起来是很简单的。但是,如果你运气不好,没配置成功,会发现文档很少,排查起来还是很痛苦的。
init.el
;……
(lsp) ; M-x vscode
;……
(python +lsp +poetry) ; beautiful is better than ugly
其中,python 需开启 lsp。除此,我还开启了 Poetry。
python-lsp-server
Doom Emacs 支持多重 Python LSP 的后端。上面的 +lsp
对应于 pylsp。
pylsp 需要单独安装,参见 pylsp 笔记,通过 pip 安装,Arch Linux 下可通过 pacman 安装。
config.el
下面附上我对 lsp-pylsp 的配置:
(use-package! lsp-pylsp
:config
(setq lsp-pylsp-plugins-rope-completion-enabled t)
(setq lsp-pylsp-plugins-rope-autoimport-enabled t)
(setq lsp-pylsp-plugins-rope-completion-eager t)
(setq lsp-pylsp-rope-rope-folder ".ropeproject"))
其中大部分是开启 rope 的补全功能。rope 默认是关闭的需要手动开启。
开启 rope 后,我得到了个人见过最强大的自动补全能力,这一点让我非常兴奋!
lsp-pylsp-rope-rope-folder
的作用是在工程目录下创建一个名为 ".ropeproject" 的目录,里面有一个 SQLite 数据库,rope 会把自动补全符号存在这里面。如果不设置这个变量,每次打开工程 rope 都要重新扫描一边 Python 符号,非常耗性能。而设置之后,每次打开工程,rope 只需要加载 SQLite 数据即可,瞬间加载完成!
Poetry
Doom Emacs 对 Poetry 支持非常好,对于使用 Poetry 管理的工程,使用 Doom Emacs 打开会会自动加载 venv 虚拟环境。Emacs 中也有众多 poetry 系列命令,涵盖了常用操作。
注意,如果除了 init.el 的 +poetry
声明外,操作系统里也要安装 poetry。
Lsp 后端
- pyls:已经不维护了
- pylsp
- pyright
- eglot
网络资源
- DOOM Emacs · Rui Vieira
- Doom Emacs 配置 - Paradigm X
- Python (Pylsp) - LSP Mode - LSP support for Emacs
- Python pylsp server not working : r/DoomEmacs
- what are the best doom emacs configs for python programming? : r/DoomEmacs
- Python with doom emacs : r/DoomEmacs
本文作者:Maeiee
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!